home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #ifdef AMIGA
- #include <gfxamiga.h>
- #else
- #include <gfx.h>
- #endif
-
- help()
- {
- printf("get grafic cursor position\n");
- printf("options:\n");
- printf(" +tek prints tektronix hardware coordinates (debugging)\n");
- printf(" -xy do NOT print time (in ns) and peak height\n");
- printf(" -xc do NOT print channel number (recalculated !)\n");
- printf(" -x only returns channel number (usefull for script files)\n");
- printf(" -y only returns peakheight (usefull for script files)\n");
- }
-
- float frline(stream)
- FILE *stream;
- {
- int i,n;
- char c,s[80];
-
- fgets(s,80,stream);
- return(atosf(s));
- }
-
- main(argc,argv)
- int argc;
- char *argv[];
- {
- int n,x,y,xx,yy,
- flg_tek=FALSE,
- flg_xy=TRUE,
- flg_xc=TRUE,
- flg_x=FALSE,
- flg_y=FALSE,
- leftmargin,
- bottommargin,
- rightmargin,
- topmargin,
- _win_flg;
- float tmin,
- tmax,
- ymin,
- ymax,
- real_t,
- real_y,
- yfak,
- tfak,
- xoffset,
- yoffset;
- char z[80];
- FILE *fp;
-
- if(checkopt(argc,argv,"+tek",z)) flg_tek=TRUE;
- if(checkopt(argc,argv,"-xy",z)) flg_xy=FALSE;
- if(checkopt(argc,argv,"-xc",z)) flg_xc=FALSE;
- if(checkopt(argc,argv,"-x",z)) {
- flg_xy=FALSE;
- flg_xc=FALSE;
- flg_x=TRUE;
- }
- if(checkopt(argc,argv,"-y",z)) {
- flg_xy=FALSE;
- flg_xc=FALSE;
- flg_y=TRUE;
- }
- tekopen();
- getxy(&x,&y);
- close(_tek4014);
- if(flg_tek) printf("tektronix: x=%d y=%d\n",x,y);
-
- /* calculating channel and time equivalents */
-
- fp=fopen(ASHBDRY,"r");
- leftmargin = frline(fp);
- bottommargin = frline(fp);
- rightmargin = frline(fp);
- topmargin = frline(fp);
- _win_flg = frline(fp);
- tmin = frline(fp);
- tmax = frline(fp);
- ymin = frline(fp);
- ymax = frline(fp);
- _tica = frline(fp);
- fclose(fp);
-
- yfak=(topmargin-bottommargin)/(ymax-ymin);
- tfak=(rightmargin-leftmargin)/(tmax-tmin);
- xoffset= ((- tmin) * tfak) + leftmargin;
- yoffset= ((- ymin) * yfak) + bottommargin;
-
- real_t= (x - xoffset)/tfak;
- real_y= (y - yoffset)/yfak;
- xx= real_t / _tica;
-
- if(flg_xy) printf("data: x=%f y=%f\n",real_t,real_y);
- if(flg_xc) printf("x-channel = %d\n",xx);
- if(flg_x) printf("%d\n",xx);
- if(flg_y) printf("%f\n",real_y);
- exit(0);
- }
-
-
-